{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "validation.ipynb",
      "version": "0.3.2",
      "provenance": [],
      "collapsed_sections": [
        "4Xp9NhOCYSuz",
        "pECTKgw5ZvFK",
        "dER2_43pWj1T",
        "I-La4N9ObC1x",
        "yTghc_5HkJDW",
        "copyright-notice"
      ]
    },
    "kernelspec": {
      "name": "python2",
      "display_name": "Python 2"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "colab_type": "text",
        "id": "copyright-notice"
      },
      "source": [
        "#### Copyright 2017 Google LLC."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "cellView": "both",
        "colab_type": "code",
        "id": "copyright-notice2",
        "colab": {}
      },
      "source": [
        "# Licensed under the Apache License, Version 2.0 (the \"License\");\n",
        "# you may not use this file except in compliance with the License.\n",
        "# You may obtain a copy of the License at\n",
        "#\n",
        "# https://www.apache.org/licenses/LICENSE-2.0\n",
        "#\n",
        "# Unless required by applicable law or agreed to in writing, software\n",
        "# distributed under the License is distributed on an \"AS IS\" BASIS,\n",
        "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
        "# See the License for the specific language governing permissions and\n",
        "# limitations under the License."
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "zbIgBK-oXHO7",
        "colab_type": "text"
      },
      "source": [
        " # 验证"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "WNX0VyBpHpCX",
        "colab_type": "text"
      },
      "source": [
        " **学习目标：**\n",
        "  * 使用多个特征而非单个特征来进一步提高模型的有效性\n",
        "  * 调试模型输入数据中的问题\n",
        "  * 使用测试数据集检查模型是否过拟合验证数据"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "za0m1T8CHpCY",
        "colab_type": "text"
      },
      "source": [
        " 与在之前的练习中一样，我们将使用加利福尼亚州住房数据集，尝试根据 1990 年的人口普查数据在城市街区级别预测 `median_house_value`。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "r2zgMfWDWF12",
        "colab_type": "text"
      },
      "source": [
        " ## 设置"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "8jErhkLzWI1B",
        "colab_type": "text"
      },
      "source": [
        " 我们首先加载并准备数据。这一次，我们将使用多个特征，因此我们会将逻辑模块化，以对特征进行预处理："
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "PwS5Bhm6HpCZ",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from __future__ import print_function\n",
        "\n",
        "import math\n",
        "\n",
        "from IPython import display\n",
        "from matplotlib import cm\n",
        "from matplotlib import gridspec\n",
        "from matplotlib import pyplot as plt\n",
        "import numpy as np\n",
        "import pandas as pd\n",
        "from sklearn import metrics\n",
        "import tensorflow as tf\n",
        "from tensorflow.python.data import Dataset\n",
        "\n",
        "tf.logging.set_verbosity(tf.logging.ERROR)\n",
        "pd.options.display.max_rows = 10\n",
        "pd.options.display.float_format = '{:.1f}'.format\n",
        "\n",
        "california_housing_dataframe = pd.read_csv(\"https://download.mlcc.google.cn/mledu-datasets/california_housing_train.csv\", sep=\",\")\n",
        "\n",
        "# california_housing_dataframe = california_housing_dataframe.reindex(\n",
        "#     np.random.permutation(california_housing_dataframe.index))"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "J2ZyTzX0HpCc",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def preprocess_features(california_housing_dataframe):\n",
        "  \"\"\"Prepares input features from California housing data set.\n",
        "\n",
        "  Args:\n",
        "    california_housing_dataframe: A Pandas DataFrame expected to contain data\n",
        "      from the California housing data set.\n",
        "  Returns:\n",
        "    A DataFrame that contains the features to be used for the model, including\n",
        "    synthetic features.\n",
        "  \"\"\"\n",
        "  selected_features = california_housing_dataframe[\n",
        "    [\"latitude\",\n",
        "     \"longitude\",\n",
        "     \"housing_median_age\",\n",
        "     \"total_rooms\",\n",
        "     \"total_bedrooms\",\n",
        "     \"population\",\n",
        "     \"households\",\n",
        "     \"median_income\"]]\n",
        "  processed_features = selected_features.copy()\n",
        "  # Create a synthetic feature.\n",
        "  processed_features[\"rooms_per_person\"] = (\n",
        "    california_housing_dataframe[\"total_rooms\"] /\n",
        "    california_housing_dataframe[\"population\"])\n",
        "  return processed_features\n",
        "\n",
        "def preprocess_targets(california_housing_dataframe):\n",
        "  \"\"\"Prepares target features (i.e., labels) from California housing data set.\n",
        "\n",
        "  Args:\n",
        "    california_housing_dataframe: A Pandas DataFrame expected to contain data\n",
        "      from the California housing data set.\n",
        "  Returns:\n",
        "    A DataFrame that contains the target feature.\n",
        "  \"\"\"\n",
        "  output_targets = pd.DataFrame()\n",
        "  # Scale the target to be in units of thousands of dollars.\n",
        "  output_targets[\"median_house_value\"] = (\n",
        "    california_housing_dataframe[\"median_house_value\"] / 1000.0)\n",
        "  return output_targets"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "sZSIaDiaHpCf",
        "colab_type": "text"
      },
      "source": [
        " 对于**训练集**，我们从共 17000 个样本中选择前 12000 个样本。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "P9wejvw7HpCf",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 297
        },
        "outputId": "622fa326-27e4-4881-e1e4-9d117f8c6130"
      },
      "source": [
        "training_examples = preprocess_features(california_housing_dataframe.head(12000))\n",
        "training_examples.describe()"
      ],
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>latitude</th>\n",
              "      <th>longitude</th>\n",
              "      <th>housing_median_age</th>\n",
              "      <th>total_rooms</th>\n",
              "      <th>total_bedrooms</th>\n",
              "      <th>population</th>\n",
              "      <th>households</th>\n",
              "      <th>median_income</th>\n",
              "      <th>rooms_per_person</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>12000.0</td>\n",
              "      <td>12000.0</td>\n",
              "      <td>12000.0</td>\n",
              "      <td>12000.0</td>\n",
              "      <td>12000.0</td>\n",
              "      <td>12000.0</td>\n",
              "      <td>12000.0</td>\n",
              "      <td>12000.0</td>\n",
              "      <td>12000.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>34.6</td>\n",
              "      <td>-118.5</td>\n",
              "      <td>27.5</td>\n",
              "      <td>2655.7</td>\n",
              "      <td>547.1</td>\n",
              "      <td>1476.0</td>\n",
              "      <td>505.4</td>\n",
              "      <td>3.8</td>\n",
              "      <td>1.9</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>1.6</td>\n",
              "      <td>1.2</td>\n",
              "      <td>12.1</td>\n",
              "      <td>2258.1</td>\n",
              "      <td>434.3</td>\n",
              "      <td>1174.3</td>\n",
              "      <td>391.7</td>\n",
              "      <td>1.9</td>\n",
              "      <td>1.3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>32.5</td>\n",
              "      <td>-121.4</td>\n",
              "      <td>1.0</td>\n",
              "      <td>2.0</td>\n",
              "      <td>2.0</td>\n",
              "      <td>3.0</td>\n",
              "      <td>2.0</td>\n",
              "      <td>0.5</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>33.8</td>\n",
              "      <td>-118.9</td>\n",
              "      <td>17.0</td>\n",
              "      <td>1451.8</td>\n",
              "      <td>299.0</td>\n",
              "      <td>815.0</td>\n",
              "      <td>283.0</td>\n",
              "      <td>2.5</td>\n",
              "      <td>1.4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>34.0</td>\n",
              "      <td>-118.2</td>\n",
              "      <td>28.0</td>\n",
              "      <td>2113.5</td>\n",
              "      <td>438.0</td>\n",
              "      <td>1207.0</td>\n",
              "      <td>411.0</td>\n",
              "      <td>3.5</td>\n",
              "      <td>1.9</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>34.4</td>\n",
              "      <td>-117.8</td>\n",
              "      <td>36.0</td>\n",
              "      <td>3146.0</td>\n",
              "      <td>653.0</td>\n",
              "      <td>1777.0</td>\n",
              "      <td>606.0</td>\n",
              "      <td>4.6</td>\n",
              "      <td>2.3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>41.8</td>\n",
              "      <td>-114.3</td>\n",
              "      <td>52.0</td>\n",
              "      <td>37937.0</td>\n",
              "      <td>5471.0</td>\n",
              "      <td>35682.0</td>\n",
              "      <td>5189.0</td>\n",
              "      <td>15.0</td>\n",
              "      <td>55.2</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "       latitude  longitude  ...  median_income  rooms_per_person\n",
              "count   12000.0    12000.0  ...        12000.0           12000.0\n",
              "mean       34.6     -118.5  ...            3.8               1.9\n",
              "std         1.6        1.2  ...            1.9               1.3\n",
              "min        32.5     -121.4  ...            0.5               0.0\n",
              "25%        33.8     -118.9  ...            2.5               1.4\n",
              "50%        34.0     -118.2  ...            3.5               1.9\n",
              "75%        34.4     -117.8  ...            4.6               2.3\n",
              "max        41.8     -114.3  ...           15.0              55.2\n",
              "\n",
              "[8 rows x 9 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 3
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JlkgPR-SHpCh",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 297
        },
        "outputId": "e6b913c0-be1a-41f6-9a59-498a3e315767"
      },
      "source": [
        "training_targets = preprocess_targets(california_housing_dataframe.head(12000))\n",
        "training_targets.describe()"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>median_house_value</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>12000.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>198.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>111.9</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>15.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>117.1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>170.5</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>244.4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>500.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "       median_house_value\n",
              "count             12000.0\n",
              "mean                198.0\n",
              "std                 111.9\n",
              "min                  15.0\n",
              "25%                 117.1\n",
              "50%                 170.5\n",
              "75%                 244.4\n",
              "max                 500.0"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 4
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "5l1aA2xOHpCj",
        "colab_type": "text"
      },
      "source": [
        " 对于**验证集**，我们从共 17000 个样本中选择后 5000 个样本。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fLYXLWAiHpCk",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 297
        },
        "outputId": "49443eb8-4a0b-472d-d378-edb4383b54d2"
      },
      "source": [
        "validation_examples = preprocess_features(california_housing_dataframe.tail(5000))\n",
        "validation_examples.describe()"
      ],
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>latitude</th>\n",
              "      <th>longitude</th>\n",
              "      <th>housing_median_age</th>\n",
              "      <th>total_rooms</th>\n",
              "      <th>total_bedrooms</th>\n",
              "      <th>population</th>\n",
              "      <th>households</th>\n",
              "      <th>median_income</th>\n",
              "      <th>rooms_per_person</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>5000.0</td>\n",
              "      <td>5000.0</td>\n",
              "      <td>5000.0</td>\n",
              "      <td>5000.0</td>\n",
              "      <td>5000.0</td>\n",
              "      <td>5000.0</td>\n",
              "      <td>5000.0</td>\n",
              "      <td>5000.0</td>\n",
              "      <td>5000.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>38.1</td>\n",
              "      <td>-122.2</td>\n",
              "      <td>31.3</td>\n",
              "      <td>2614.8</td>\n",
              "      <td>521.1</td>\n",
              "      <td>1318.1</td>\n",
              "      <td>491.2</td>\n",
              "      <td>4.1</td>\n",
              "      <td>2.1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>0.9</td>\n",
              "      <td>0.5</td>\n",
              "      <td>13.4</td>\n",
              "      <td>1979.6</td>\n",
              "      <td>388.5</td>\n",
              "      <td>1073.7</td>\n",
              "      <td>366.5</td>\n",
              "      <td>2.0</td>\n",
              "      <td>0.6</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>36.1</td>\n",
              "      <td>-124.3</td>\n",
              "      <td>1.0</td>\n",
              "      <td>8.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>8.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0.5</td>\n",
              "      <td>0.1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>37.5</td>\n",
              "      <td>-122.4</td>\n",
              "      <td>20.0</td>\n",
              "      <td>1481.0</td>\n",
              "      <td>292.0</td>\n",
              "      <td>731.0</td>\n",
              "      <td>278.0</td>\n",
              "      <td>2.7</td>\n",
              "      <td>1.7</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>37.8</td>\n",
              "      <td>-122.1</td>\n",
              "      <td>31.0</td>\n",
              "      <td>2164.0</td>\n",
              "      <td>424.0</td>\n",
              "      <td>1074.0</td>\n",
              "      <td>403.0</td>\n",
              "      <td>3.7</td>\n",
              "      <td>2.1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>38.4</td>\n",
              "      <td>-121.9</td>\n",
              "      <td>42.0</td>\n",
              "      <td>3161.2</td>\n",
              "      <td>635.0</td>\n",
              "      <td>1590.2</td>\n",
              "      <td>603.0</td>\n",
              "      <td>5.1</td>\n",
              "      <td>2.4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>42.0</td>\n",
              "      <td>-121.4</td>\n",
              "      <td>52.0</td>\n",
              "      <td>32627.0</td>\n",
              "      <td>6445.0</td>\n",
              "      <td>28566.0</td>\n",
              "      <td>6082.0</td>\n",
              "      <td>15.0</td>\n",
              "      <td>18.3</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "       latitude  longitude  ...  median_income  rooms_per_person\n",
              "count    5000.0     5000.0  ...         5000.0            5000.0\n",
              "mean       38.1     -122.2  ...            4.1               2.1\n",
              "std         0.9        0.5  ...            2.0               0.6\n",
              "min        36.1     -124.3  ...            0.5               0.1\n",
              "25%        37.5     -122.4  ...            2.7               1.7\n",
              "50%        37.8     -122.1  ...            3.7               2.1\n",
              "75%        38.4     -121.9  ...            5.1               2.4\n",
              "max        42.0     -121.4  ...           15.0              18.3\n",
              "\n",
              "[8 rows x 9 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 5
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "oVPcIT3BHpCm",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 297
        },
        "outputId": "2c5af4e7-09a3-43b1-c765-2568ab5beaf2"
      },
      "source": [
        "validation_targets = preprocess_targets(california_housing_dataframe.tail(5000))\n",
        "validation_targets.describe()"
      ],
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>median_house_value</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>5000.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>229.5</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>122.5</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>15.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>130.4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>213.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>303.2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>500.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "       median_house_value\n",
              "count              5000.0\n",
              "mean                229.5\n",
              "std                 122.5\n",
              "min                  15.0\n",
              "25%                 130.4\n",
              "50%                 213.0\n",
              "75%                 303.2\n",
              "max                 500.0"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "z3TZV1pgfZ1n",
        "colab_type": "text"
      },
      "source": [
        " ## 任务 1：检查数据\n",
        "好的，我们看一下上面的数据。可以使用的输入特征有 `9` 个。\n",
        "\n",
        "快速浏览一下表格中的值。一切看起来正常吗？看一下您可以发现多少问题。如果您没有统计学方面的背景知识，也不必担心；您可以运用常识。\n",
        "\n",
        "有机会亲自仔细查看数据后，请查看解决方案，了解有关如何验证数据的其他思路。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "4Xp9NhOCYSuz",
        "colab_type": "text"
      },
      "source": [
        " ### 解决方案\n",
        "\n",
        "点击下方即可查看解决方案。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "gqeRmK57YWpy",
        "colab_type": "text"
      },
      "source": [
        " 我们根据基准预期情况检查一下我们的数据：\n",
        "\n",
        "* 对于一些值（例如 `median_house_value`），我们可以检查这些值是否位于合理的范围内（请注意，这是 1990 年的数据，不是现在的！）。\n",
        "\n",
        "* 对于 `latitude` 和 `longitude` 等其他值，我们可以通过 Google 进行快速搜索，并快速检查一下它们与预期值是否一致。\n",
        "\n",
        "如果您仔细看，可能会发现下列异常情况：\n",
        "\n",
        "* `median_income` 位于 3 到 15 的范围内。我们完全不清楚此范围究竟指的是什么，看起来可能是某对数尺度？无法找到相关记录；我们所能假设的只是，值越高，相应的收入越高。\n",
        "\n",
        "* `median_house_value` 的最大值是 500001。这看起来像是某种人为设定的上限。\n",
        "\n",
        "* `rooms_per_person` 特征通常在正常范围内，其中第 75 百分位数的值约为 2。但也有一些非常大的值（例如 18 或 55），这可能表明数据有一定程度的损坏。\n",
        "\n",
        "我们将暂时使用提供的这些特征。但希望这些示例可帮助您较为直观地了解如何检查来自未知来源的数据。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "fXliy7FYZZRm",
        "colab_type": "text"
      },
      "source": [
        " ## 任务 2：绘制纬度/经度与房屋价值中位数的曲线图"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "aJIWKBdfsDjg",
        "colab_type": "text"
      },
      "source": [
        " 我们来详细了解一下 **`latitude`** 和 **`longitude`** 这两个特征。它们是相关城市街区的地理坐标。\n",
        "\n",
        "利用这两个特征可以提供出色的可视化结果 - 我们来绘制 `latitude` 和 `longitude` 的曲线图，然后用颜色标注 `median_house_value`。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "5_LD23bJ06TW",
        "colab_type": "code",
        "cellView": "both",
        "colab": {
          "test": {
            "output": "ignore",
            "timeout": 600
          },
          "base_uri": "https://localhost:8080/",
          "height": 499
        },
        "outputId": "7044dba1-b6f2-476f-d980-0ba7b8ec614a"
      },
      "source": [
        "plt.figure(figsize=(13, 8))\n",
        "\n",
        "ax = plt.subplot(1, 2, 1)\n",
        "ax.set_title(\"Validation Data\")\n",
        "\n",
        "ax.set_autoscaley_on(False)\n",
        "ax.set_ylim([32, 43])\n",
        "ax.set_autoscalex_on(False)\n",
        "ax.set_xlim([-126, -112])\n",
        "plt.scatter(validation_examples[\"longitude\"],\n",
        "            validation_examples[\"latitude\"],\n",
        "            cmap=\"coolwarm\",\n",
        "            c=validation_targets[\"median_house_value\"] / validation_targets[\"median_house_value\"].max())\n",
        "\n",
        "ax = plt.subplot(1,2,2)\n",
        "ax.set_title(\"Training Data\")\n",
        "\n",
        "ax.set_autoscaley_on(False)\n",
        "ax.set_ylim([32, 43])\n",
        "ax.set_autoscalex_on(False)\n",
        "ax.set_xlim([-126, -112])\n",
        "plt.scatter(training_examples[\"longitude\"],\n",
        "            training_examples[\"latitude\"],\n",
        "            cmap=\"coolwarm\",\n",
        "            c=training_targets[\"median_house_value\"] / training_targets[\"median_house_value\"].max())\n",
        "_ = plt.plot()"
      ],
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 936x576 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "32_DbjnfXJlC",
        "colab_type": "text"
      },
      "source": [
        " 稍等片刻…现在应该已经呈现出一幅不错的加利福尼亚州地图了，其中旧金山和洛杉矶等住房成本高昂的地区用红色表示。\n",
        "\n",
        "根据训练集呈现的地图有几分像[真正的地图](https://www.google.com/maps/place/California/@37.1870174,-123.7642688,6z/data=!3m1!4b1!4m2!3m1!1s0x808fb9fe5f285e3d:0x8b5109a227086f55)，但根据验证集呈现的明显不像。\n",
        "\n",
        "**返回上面的部分，再次查看任务 1 中的数据。**\n",
        "\n",
        "您看出训练数据和验证数据之间的特征或目标分布有任何其他差异了吗？"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "pECTKgw5ZvFK",
        "colab_type": "text"
      },
      "source": [
        " ### 解决方案\n",
        "\n",
        "点击下方即可查看解决方案。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "49NC4_KIZxk_",
        "colab_type": "text"
      },
      "source": [
        " 查看上面的摘要统计信息表格时，很容易产生想知道如何进行有用的数据检查的想法。每个街区 total_rooms 的第 <sup>75</sup> 百分位的正确值是什么？\n",
        "\n",
        "需要注意的关键一点是，对于任何指定特征或列，训练集和验证集之间的值的分布应该大致相同。\n",
        "\n",
        "我们真正需要担心的是，真实情况并非这样，这一事实表明我们创建训练集和验证集的拆分方式很可能存在问题。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "025Ky0Dq9ig0",
        "colab_type": "text"
      },
      "source": [
        " ## 任务 3：返回来看数据导入和预处理代码，看一下您是否发现了任何错误\n",
        "如果您发现了错误，请修复该错误。将查看时间控制在一到两分钟之内。如果您未发现任何错误，请查看解决方案。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "JFsd2eWHAMdy",
        "colab_type": "text"
      },
      "source": [
        " 发现并解决问题后，重新运行上面的 `latitude`/`longitude` 绘图单元格，并确认我们的健全性检查的结果看上去更好了。\n",
        "\n",
        "顺便提一下，在这一步中，我们会学到一项重要经验。\n",
        "\n",
        "**机器学习中的调试通常是*数据调试*而不是代码调试。**\n",
        "\n",
        "如果数据有误，即使最高级的机器学习代码也挽救不了局面。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "dER2_43pWj1T",
        "colab_type": "text"
      },
      "source": [
        " ### 解决方案\n",
        "\n",
        "点击下方即可查看解决方案。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "BnEVbYJvW2wu",
        "colab_type": "text"
      },
      "source": [
        " 我们来看一下在读入数据时，我们是如何对数据进行随机化处理的。\n",
        "\n",
        "如果我们在创建训练集和验证集之前，没有对数据进行正确的随机化处理，那么以某种特定顺序接收数据可能会导致出现问题（似乎就是此时的问题）。"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "xCdqLpQyAos2",
        "colab_type": "text"
      },
      "source": [
        " ## 任务 4：训练和评估模型\n",
        "\n",
        "**花费约 5 分钟的时间尝试不同的超参数设置。尽可能获取最佳验证效果。**\n",
        "\n",
        "然后，我们会使用数据集中的所有特征训练一个线性回归器，看看其表现如何。\n",
        "\n",
        "我们来定义一下以前将数据加载到 TensorFlow 模型中时所使用的同一输入函数。\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "rzcIPGxxgG0t",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def my_input_fn(features, targets, batch_size=1, shuffle=True, num_epochs=None):\n",
        "    \"\"\"Trains a linear regression model of multiple features.\n",
        "  \n",
        "    Args:\n",
        "      features: pandas DataFrame of features\n",
        "      targets: pandas DataFrame of targets\n",
        "      batch_size: Size of batches to be passed to the model\n",
        "      shuffle: True or False. Whether to shuffle the data.\n",
        "      num_epochs: Number of epochs for which data should be repeated. None = repeat indefinitely\n",
        "    Returns:\n",
        "      Tuple of (features, labels) for next data batch\n",
        "    \"\"\"\n",
        "    \n",
        "    # Convert pandas data into a dict of np arrays.\n",
        "    features = {key:np.array(value) for key,value in dict(features).items()}                                           \n",
        " \n",
        "    # Construct a dataset, and configure batching/repeating.\n",
        "    ds = Dataset.from_tensor_slices((features,targets)) # warning: 2GB limit\n",
        "    ds = ds.batch(batch_size).repeat(num_epochs)\n",
        "    \n",
        "    # Shuffle the data, if specified.\n",
        "    if shuffle:\n",
        "      ds = ds.shuffle(10000)\n",
        "    \n",
        "    # Return the next batch of data.\n",
        "    features, labels = ds.make_one_shot_iterator().get_next()\n",
        "    return features, labels"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "CvrKoBmNgRCO",
        "colab_type": "text"
      },
      "source": [
        " 由于我们现在使用的是多个输入特征，因此需要把用于将特征列配置为独立函数的代码模块化。（目前此代码相当简单，因为我们的所有特征都是数值，但当我们在今后的练习中使用其他类型的特征时，会基于此代码进行构建。）"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wEW5_XYtgZ-H",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def construct_feature_columns(input_features):\n",
        "  \"\"\"Construct the TensorFlow Feature Columns.\n",
        "\n",
        "  Args:\n",
        "    input_features: The names of the numerical input features to use.\n",
        "  Returns:\n",
        "    A set of feature columns\n",
        "  \"\"\" \n",
        "  return set([tf.feature_column.numeric_column(my_feature)\n",
        "              for my_feature in input_features])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "D0o2wnnzf8BD",
        "colab_type": "text"
      },
      "source": [
        " 接下来，继续完成下面的 `train_model()` 代码，以设置输入函数和计算预测。\n",
        "\n",
        "**注意**：可以参考以前的练习中的代码，但要确保针对相应数据集调用 `predict()`。\n",
        "\n",
        "比较训练数据和验证数据的损失。使用一个原始特征时，我们得到的最佳均方根误差 (RMSE) 约为 180。\n",
        "\n",
        "现在我们可以使用多个特征，不妨看一下可以获得多好的结果。\n",
        "\n",
        "使用我们之前了解的一些方法检查数据。这些方法可能包括：\n",
        "\n",
        "   * 比较预测值和实际目标值的分布情况\n",
        "\n",
        "   * 绘制预测值和目标值的散点图\n",
        "\n",
        "   * 使用 `latitude` 和 `longitude` 绘制两个验证数据散点图：\n",
        "      * 一个散点图将颜色映射到实际目标 `median_house_value`\n",
        "      * 另一个散点图将颜色映射到预测的 `median_house_value`，并排进行比较。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "UXt0_4ZTEf4V",
        "colab_type": "code",
        "cellView": "both",
        "colab": {
          "test": {
            "output": "ignore",
            "timeout": 600
          }
        }
      },
      "source": [
        "def train_model(\n",
        "    learning_rate,\n",
        "    steps,\n",
        "    batch_size,\n",
        "    training_examples,\n",
        "    training_targets,\n",
        "    validation_examples,\n",
        "    validation_targets):\n",
        "  \"\"\"Trains a linear regression model of multiple features.\n",
        "  \n",
        "  In addition to training, this function also prints training progress information,\n",
        "  as well as a plot of the training and validation loss over time.\n",
        "  \n",
        "  Args:\n",
        "    learning_rate: A `float`, the learning rate.\n",
        "    steps: A non-zero `int`, the total number of training steps. A training step\n",
        "      consists of a forward and backward pass using a single batch.\n",
        "    batch_size: A non-zero `int`, the batch size.\n",
        "    training_examples: A `DataFrame` containing one or more columns from\n",
        "      `california_housing_dataframe` to use as input features for training.\n",
        "    training_targets: A `DataFrame` containing exactly one column from\n",
        "      `california_housing_dataframe` to use as target for training.\n",
        "    validation_examples: A `DataFrame` containing one or more columns from\n",
        "      `california_housing_dataframe` to use as input features for validation.\n",
        "    validation_targets: A `DataFrame` containing exactly one column from\n",
        "      `california_housing_dataframe` to use as target for validation.\n",
        "      \n",
        "  Returns:\n",
        "    A `LinearRegressor` object trained on the training data.\n",
        "  \"\"\"\n",
        "\n",
        "  periods = 10\n",
        "  steps_per_period = steps / periods\n",
        "  \n",
        "  # Create a linear regressor object.\n",
        "  my_optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate)\n",
        "  my_optimizer = tf.contrib.estimator.clip_gradients_by_norm(my_optimizer, 5.0)\n",
        "  linear_regressor = tf.estimator.LinearRegressor(\n",
        "      feature_columns=construct_feature_columns(training_examples),\n",
        "      optimizer=my_optimizer\n",
        "  )\n",
        "  \n",
        "  # 1. Create input functions.\n",
        "  training_input_fn = # YOUR CODE HERE\n",
        "  predict_training_input_fn = # YOUR CODE HERE\n",
        "  predict_validation_input_fn = # YOUR CODE HERE\n",
        "  \n",
        "  # Train the model, but do so inside a loop so that we can periodically assess\n",
        "  # loss metrics.\n",
        "  print(\"Training model...\")\n",
        "  print(\"RMSE (on training data):\")\n",
        "  training_rmse = []\n",
        "  validation_rmse = []\n",
        "  for period in range (0, periods):\n",
        "    # Train the model, starting from the prior state.\n",
        "    linear_regressor.train(\n",
        "        input_fn=training_input_fn,\n",
        "        steps=steps_per_period,\n",
        "    )\n",
        "    # 2. Take a break and compute predictions.\n",
        "    training_predictions = # YOUR CODE HERE\n",
        "    validation_predictions = # YOUR CODE HERE\n",
        "    \n",
        "    # Compute training and validation loss.\n",
        "    training_root_mean_squared_error = math.sqrt(\n",
        "        metrics.mean_squared_error(training_predictions, training_targets))\n",
        "    validation_root_mean_squared_error = math.sqrt(\n",
        "        metrics.mean_squared_error(validation_predictions, validation_targets))\n",
        "    # Occasionally print the current loss.\n",
        "    print(\"  period %02d : %0.2f\" % (period, training_root_mean_squared_error))\n",
        "    # Add the loss metrics from this period to our list.\n",
        "    training_rmse.append(training_root_mean_squared_error)\n",
        "    validation_rmse.append(validation_root_mean_squared_error)\n",
        "  print(\"Model training finished.\")\n",
        "\n",
        "  # Output a graph of loss metrics over periods.\n",
        "  plt.ylabel(\"RMSE\")\n",
        "  plt.xlabel(\"Periods\")\n",
        "  plt.title(\"Root Mean Squared Error vs. Periods\")\n",
        "  plt.tight_layout()\n",
        "  plt.plot(training_rmse, label=\"training\")\n",
        "  plt.plot(validation_rmse, label=\"validation\")\n",
        "  plt.legend()\n",
        "\n",
        "  return linear_regressor"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zFFRmvUGh8wd",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "linear_regressor = train_model(\n",
        "    # TWEAK THESE VALUES TO SEE HOW MUCH YOU CAN IMPROVE THE RMSE\n",
        "    learning_rate=0.00001,\n",
        "    steps=100,\n",
        "    batch_size=1,\n",
        "    training_examples=training_examples,\n",
        "    training_targets=training_targets,\n",
        "    validation_examples=validation_examples,\n",
        "    validation_targets=validation_targets)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "I-La4N9ObC1x",
        "colab_type": "text"
      },
      "source": [
        " ### 解决方案\n",
        "\n",
        "点击下方即可查看解决方案。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Xyz6n1YHbGef",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def train_model(\n",
        "    learning_rate,\n",
        "    steps,\n",
        "    batch_size,\n",
        "    training_examples,\n",
        "    training_targets,\n",
        "    validation_examples,\n",
        "    validation_targets):\n",
        "  \"\"\"Trains a linear regression model of multiple features.\n",
        "  \n",
        "  In addition to training, this function also prints training progress information,\n",
        "  as well as a plot of the training and validation loss over time.\n",
        "  \n",
        "  Args:\n",
        "    learning_rate: A `float`, the learning rate.\n",
        "    steps: A non-zero `int`, the total number of training steps. A training step\n",
        "      consists of a forward and backward pass using a single batch.\n",
        "    batch_size: A non-zero `int`, the batch size.\n",
        "    training_examples: A `DataFrame` containing one or more columns from\n",
        "      `california_housing_dataframe` to use as input features for training.\n",
        "    training_targets: A `DataFrame` containing exactly one column from\n",
        "      `california_housing_dataframe` to use as target for training.\n",
        "    validation_examples: A `DataFrame` containing one or more columns from\n",
        "      `california_housing_dataframe` to use as input features for validation.\n",
        "    validation_targets: A `DataFrame` containing exactly one column from\n",
        "      `california_housing_dataframe` to use as target for validation.\n",
        "      \n",
        "  Returns:\n",
        "    A `LinearRegressor` object trained on the training data.\n",
        "  \"\"\"\n",
        "\n",
        "  periods = 10\n",
        "  steps_per_period = steps / periods\n",
        "  \n",
        "  # Create a linear regressor object.\n",
        "  my_optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate)\n",
        "  my_optimizer = tf.contrib.estimator.clip_gradients_by_norm(my_optimizer, 5.0)\n",
        "  linear_regressor = tf.estimator.LinearRegressor(\n",
        "      feature_columns=construct_feature_columns(training_examples),\n",
        "      optimizer=my_optimizer\n",
        "  )\n",
        "  \n",
        "  # Create input functions.\n",
        "  training_input_fn = lambda: my_input_fn(\n",
        "      training_examples, \n",
        "      training_targets[\"median_house_value\"], \n",
        "      batch_size=batch_size)\n",
        "  predict_training_input_fn = lambda: my_input_fn(\n",
        "      training_examples, \n",
        "      training_targets[\"median_house_value\"], \n",
        "      num_epochs=1, \n",
        "      shuffle=False)\n",
        "  predict_validation_input_fn = lambda: my_input_fn(\n",
        "      validation_examples, validation_targets[\"median_house_value\"], \n",
        "      num_epochs=1, \n",
        "      shuffle=False)\n",
        "\n",
        "  # Train the model, but do so inside a loop so that we can periodically assess\n",
        "  # loss metrics.\n",
        "  print(\"Training model...\")\n",
        "  print(\"RMSE (on training data):\")\n",
        "  training_rmse = []\n",
        "  validation_rmse = []\n",
        "  for period in range (0, periods):\n",
        "    # Train the model, starting from the prior state.\n",
        "    linear_regressor.train(\n",
        "        input_fn=training_input_fn,\n",
        "        steps=steps_per_period,\n",
        "    )\n",
        "    # Take a break and compute predictions.\n",
        "    training_predictions = linear_regressor.predict(input_fn=predict_training_input_fn)\n",
        "    training_predictions = np.array([item['predictions'][0] for item in training_predictions])\n",
        "    \n",
        "    validation_predictions = linear_regressor.predict(input_fn=predict_validation_input_fn)\n",
        "    validation_predictions = np.array([item['predictions'][0] for item in validation_predictions])\n",
        "    \n",
        "    \n",
        "    # Compute training and validation loss.\n",
        "    training_root_mean_squared_error = math.sqrt(\n",
        "        metrics.mean_squared_error(training_predictions, training_targets))\n",
        "    validation_root_mean_squared_error = math.sqrt(\n",
        "        metrics.mean_squared_error(validation_predictions, validation_targets))\n",
        "    # Occasionally print the current loss.\n",
        "    print(\"  period %02d : %0.2f\" % (period, training_root_mean_squared_error))\n",
        "    # Add the loss metrics from this period to our list.\n",
        "    training_rmse.append(training_root_mean_squared_error)\n",
        "    validation_rmse.append(validation_root_mean_squared_error)\n",
        "  print(\"Model training finished.\")\n",
        "\n",
        "  # Output a graph of loss metrics over periods.\n",
        "  plt.ylabel(\"RMSE\")\n",
        "  plt.xlabel(\"Periods\")\n",
        "  plt.title(\"Root Mean Squared Error vs. Periods\")\n",
        "  plt.tight_layout()\n",
        "  plt.plot(training_rmse, label=\"training\")\n",
        "  plt.plot(validation_rmse, label=\"validation\")\n",
        "  plt.legend()\n",
        "\n",
        "  return linear_regressor"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "i1imhjFzbWwt",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 657
        },
        "outputId": "1dfe2cfd-4863-4342-f91b-61adac8b5478"
      },
      "source": [
        "linear_regressor = train_model(\n",
        "    learning_rate=0.00003,\n",
        "    steps=500,\n",
        "    batch_size=5,\n",
        "    training_examples=training_examples,\n",
        "    training_targets=training_targets,\n",
        "    validation_examples=validation_examples,\n",
        "    validation_targets=validation_targets)"
      ],
      "execution_count": 11,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "\n",
            "WARNING: The TensorFlow contrib module will not be included in TensorFlow 2.0.\n",
            "For more information, please see:\n",
            "  * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md\n",
            "  * https://github.com/tensorflow/addons\n",
            "If you depend on functionality not listed there, please file an issue.\n",
            "\n",
            "Training model...\n",
            "RMSE (on training data):\n",
            "  period 00 : 207.44\n",
            "  period 01 : 189.99\n",
            "  period 02 : 177.62\n",
            "  period 03 : 169.37\n",
            "  period 04 : 164.14\n",
            "  period 05 : 161.57\n",
            "  period 06 : 160.90\n",
            "  period 07 : 161.13\n",
            "  period 08 : 162.02\n",
            "  period 09 : 162.87\n",
            "Model training finished.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "65sin-E5NmHN",
        "colab_type": "text"
      },
      "source": [
        " ## 任务 5：基于测试数据进行评估\n",
        "\n",
        "**在以下单元格中，载入测试数据集并据此评估模型。**\n",
        "\n",
        "我们已对验证数据进行了大量迭代。接下来确保我们没有过拟合该特定样本集的特性。\n",
        "\n",
        "测试数据集位于[此处](https://download.mlcc.google.cn/mledu-datasets/california_housing_test.csv)。\n",
        "\n",
        "您的测试效果与验证效果的对比情况如何？对比情况表明您模型的泛化效果如何？"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "icEJIl5Vp51r",
        "colab_type": "code",
        "cellView": "both",
        "colab": {
          "test": {
            "output": "ignore",
            "timeout": 600
          }
        }
      },
      "source": [
        "california_housing_test_data = pd.read_csv(\"https://download.mlcc.google.cn/mledu-datasets/california_housing_test.csv\", sep=\",\")\n",
        "#\n",
        "# YOUR CODE HERE\n",
        "#"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yTghc_5HkJDW",
        "colab_type": "text"
      },
      "source": [
        " ### 解决方案\n",
        "\n",
        "点击下方即可查看解决方案。"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "_xSYTarykO8U",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        },
        "outputId": "9b4d4f83-5f81-47dd-d15c-1388648dcec4"
      },
      "source": [
        "california_housing_test_data = pd.read_csv(\"https://download.mlcc.google.cn/mledu-datasets/california_housing_test.csv\", sep=\",\")\n",
        "\n",
        "test_examples = preprocess_features(california_housing_test_data)\n",
        "test_targets = preprocess_targets(california_housing_test_data)\n",
        "\n",
        "predict_test_input_fn = lambda: my_input_fn(\n",
        "      test_examples, \n",
        "      test_targets[\"median_house_value\"], \n",
        "      num_epochs=1, \n",
        "      shuffle=False)\n",
        "\n",
        "test_predictions = linear_regressor.predict(input_fn=predict_test_input_fn)\n",
        "test_predictions = np.array([item['predictions'][0] for item in test_predictions])\n",
        "\n",
        "root_mean_squared_error = math.sqrt(\n",
        "    metrics.mean_squared_error(test_predictions, test_targets))\n",
        "\n",
        "print(\"Final RMSE (on test data): %0.2f\" % root_mean_squared_error)"
      ],
      "execution_count": 12,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Final RMSE (on test data): 160.83\n"
          ],
          "name": "stdout"
        }
      ]
    }
  ]
}